1 using System.Collections;
2 using System.Collections.Generic;
3 using UnityEngine;
4
5 public class BossShoot : MonoBehaviour {
6
7 public GameObject bullet;
8
9 public bool isReadyToShoot, fireBullet;
10
11 private float fireRate, firstDelay, secondDelay;
12
13 // Use this for initialization
14 void Start () {
15
16 }
17
18 // Update is called once per frame
19 void Update () {
20 if(isReadyToShoot){
21 fireRate = Random.Range(4, 6);
22 firstDelay += Time.deltaTime;
23 if (firstDelay >= fireRate) {
24 if (!fireBullet) {
25 fireBullet = true;
26 if (GameObject.FindGameObjectWithTag ("Player") != null) {
27 GameObject newBullet = Instantiate (bullet, new Vector3 (transform.position.x, 0.3f, transform.position.z), Quaternion.identity) as GameObject;
28 Transform target = GameObject.FindGameObjectWithTag ("Player").transform;
29 newBullet.GetComponent<Rigidbody2D> ().velocity = (target.position - transform.position).normalized * 5f;
30 } else {
31 GameObject newBullet = Instantiate (bullet, new Vector3 (transform.position.x, 0.3f, transform.position.z), Quaternion.identity) as GameObject;
32 newBullet.GetComponent<Rigidbody2D> ().velocity = new Vector2 (Random.Range(-1f, 1f), -2f);
33 }
34 }
35
36 if (fireBullet) {
37 secondDelay += Time.deltaTime;
38 if (secondDelay >= 0.5f) {
39 secondDelay = 0;
40 firstDelay = 0;
41 if (GameObject.FindGameObjectWithTag ("Player") != null) {
42 GameObject newBullet = Instantiate (bullet, new Vector3 (transform.position.x, 0.3f, transform.position.z), Quaternion.identity) as GameObject;
43 Transform target = GameObject.FindGameObjectWithTag ("Player").transform;
44 newBullet.GetComponent<Rigidbody2D> ().velocity = (target.position - transform.position).normalized * 5f;
45 } else {
46 GameObject newBullet = Instantiate (bullet, new Vector3 (transform.position.x, 0.3f, transform.position.z), Quaternion.identity) as GameObject;
47 newBullet.GetComponent<Rigidbody2D> ().velocity = new Vector2 (Random.Range(-0.1f, 0.1f), -2f);
48 }
49 fireBullet = false;
50 }
51 }
52 }
53
54 }
55
56
57 }
58
59 }
Use this for initialization
Update is called once per frame